package com.gsi.webstore.platform.storefront.capi.order;

import java.math.BigDecimal;
import java.util.List;

import com.intershop.beehive.foundation.quantity.Money;
import com.intershop.sellside.appbase.b2c.capi.order.CostInformationBO;

public interface GSITaxInformationBO extends CostInformationBO
{
    String getDescription();

    String getHTSCode();

    public String getTaxClass();

    public String getTaxType();

    public String getTaxability();

    public String getSitus();

    public String getJurisdiction();

    public String getJurisdictionLevel();

    public String getJurisdictionID();

    public String getImposition();

    public String getImpositionType();

    public BigDecimal getEffectiveRate();

    public Money getTaxableAmount();

    public Money getCalculatedTax();

    public String getSellerRegistrationID();

    public List<String> getInvoiceTextCodes();

    public Boolean isTaxable();
    
    /**
     * Returns <code>true</code> to indicate an error during tax/duty calculation,
     * <code>false</code> otherwise. 
     *  
     * @return a flag indicating an error during tax/duty calculation
     */
    public Boolean isCalculationError();
}